export default class OrganizationVO  { 
  orgNo!:string;
  orgName!:string;
  orgFullName!:string;
  orgType!:number;
  telNo!:string;
  contactName!:string;
  addrCountry!:string;
  addrProvince!:string;
  addrCity!:string;
  addrDetails!:string;
  remarks!:string;
  parentOrg!:string;
  status!:EnumStruct<OrgEnum_Status>;
  addUser!:string;
  addTime!:string;
  updUser!:string;
  updTime!:string;
  children!:OrganizationVO[];
  text!:string;
  address!:string;
  orgId!:string;
  orgPathName!:string;
  pathName!:string;
  parents!:OrganizationVO;


  /**通过JSONObject创建实例对象 */
  public static getInstanceByJSONObj(jsonObj:any):OrganizationVO{  
    let instance=new OrganizationVO()  
    return Object.assign(instance, jsonObj) 
  }


  /** 通过属性参数创建实例对象 */
  public static getInstanceByParam(orgNo:string,orgName:string
                                   ,orgFullName:string,orgType:number
                                   ,telNo:string,contactName:string
                                   ,addrCountry:string,addrProvince:string
                                   ,addrCity:string,addrDetails:string
                                   ,remarks:string,parentOrg:string
                                   ,status:EnumStruct<OrgEnum_Status>,addUser:string
                                   ,addTime:string,updUser:string
                                   ,updTime:string,children:OrganizationVO[]
                                   ,text:string,address:string
                                   ,orgId:string,orgPathName:string
                                   ,pathName:string,parents:OrganizationVO){ 
    let instance=new OrganizationVO()  
    instance.orgNo=orgNo;
    instance.orgName=orgName;
    instance.orgFullName=orgFullName;
    instance.orgType=orgType;
    instance.telNo=telNo;
    instance.contactName=contactName;
    instance.addrCountry=addrCountry;
    instance.addrProvince=addrProvince;
    instance.addrCity=addrCity;
    instance.addrDetails=addrDetails;
    instance.remarks=remarks;
    instance.parentOrg=parentOrg;
    instance.status=status;
    instance.addUser=addUser;
    instance.addTime=addTime;
    instance.updUser=updUser;
    instance.updTime=updTime;
    instance.children=children;
    instance.text=text;
    instance.address=address;
    instance.orgId=orgId;
    instance.orgPathName=orgPathName;
    instance.pathName=pathName;
    instance.parents=parents;
    return instance 
  }


  /** 类属性的申明静态变量(适用于直接用到Class.fieldName的场景) */
   static fieldNames={
       orgNo:"orgNo",
      orgName:"orgName",
      orgFullName:"orgFullName",
      orgType:"orgType",
      telNo:"telNo",
      contactName:"contactName",
      addrCountry:"addrCountry",
      addrProvince:"addrProvince",
      addrCity:"addrCity",
      addrDetails:"addrDetails",
      remarks:"remarks",
      parentOrg:"parentOrg",
      status:{code:"status.code",value:"status.value",this:"status"},
      addUser:"addUser",
      addTime:"addTime",
      updUser:"updUser",
      updTime:"updTime",
      children:"children",
      text:"text",
      address:"address",
      orgId:"orgId",
      orgPathName:"orgPathName",
      pathName:"pathName",
      parents:"parents" } 
}

